﻿#define teston
//#define rescue

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using QSharpTest.Tests;
using QSharp.Scheme.Classical.Graphs;
using QSharp.Scheme.Classical.Trees;

namespace QSharpTest
{
    class Program
    {
        static void Main(string[] args)
        {
            //int[,] track;
#if testoff
            ShortestPathTest.TestCase002(500, 36, out track, 3);
            return;

            SortingTest.TestCase001(10000, 3);
            return;
#endif

#if testoff
            AVLTreeTest.TestCase001(1000, 1, 100, false, 123);
            return;
#endif

#if rescue
            // 88,71,78,69,3,0,14,19,60,89,47,18,44,7,82,54,26,0,
            /*
            BTree<int> btree = new BTree<int>(5);
            BTree_Test.BTreeWrappedAsBinaryTree<int> btreeWrapper
                = new BTree_Test.BTreeWrappedAsBinaryTree<int>(btree);*/

            AVLTree<int> tree = new AVLTree<int>();
            SearchTreeTest test = new SearchTreeTest(tree);

            List<int> track = new List<int> {  
            88,71,78,69,3,0,14,19,60,89,47,18,44,7,82,54,26,0,
            };
            test.TestEntry_Rescue(30, track);

            return;
#endif

#if testoff
            RBTreeTest.TestCase001(1000, 1, 100, false, 246);
            return;
#endif

#if testoff
            BTreeTest.TestCase001(1000, 1, 200, 3, 100, false, 369);
            return;
#endif

#if testoff
            //HBSpaceMgmtTest.TestCase001();
            HBSpaceMgmtTest.TestCase002();
#endif

#if testoff
            RexTest.TestCase001();
#endif

#if teston
            CsgIntsTest.AutoTest();
#endif

        }
    }
}


// test compiler

//QSharp.String.Compiler.IntegratedTest.TestEntry();
//QSharp.String.Rex.RexCreator_Test.TestEntry();

//QSharp.String.ZMatch_Test.SampleMain(new String[]{ "abcabddt", "1" });
// adafsaaabcabcabddtadf
